package s03;

/**
 * @ClassName Test02
 * @Description 通常在方法的形式参数是接口或者抽象类时，也可以将匿名内部类作为参数传递
 * @Author Li
 * @Date 2022/8/2 11:09
 * @ModifyDate 2022/8/2 11:09
 * @Version 1.0
 */
public class Test02 {
    public static void main(String[] args) {
        /*
         1.等号右边：是匿名内部类，定义并创建该接口的子类对象
         2.等号右边：是多态赋值，接口类型引用指向子类对象
         */
        Animal animal = new Animal() {
            @Override
            public void run() {
                System.out.println("一路小跑...");
            }
        };
        // 将animal传递给showRun方法中
        showRun(animal);
    }

    public static void showRun(Animal animal) {
        animal.run();
    }
}
